--- see 'https://github.com/Frege/frege/issues/298 Issue 298'
--- Adapt default precedence and associativity to Haskell2010 standard:
--- If no fixity declaration is given for op then it defaults to highest precedence and left associativity.
module tests.comp.Issue298 where

--- when op is used as operator, it'll bind more tightly than multiplication
op a b = a + b

example1 = 3 * 4 `op` 5 `op` 6  -- should be 45
example2 = 3 * 4 + 5 + 6        -- should be 23

(###) = (,)

also ∷ ((Int,Bool),Char)
also = 1 ### true ### 'c'

main :: IO Bool
main = pure (example1 == 45 && example2 == 23) 

